#ifndef __SEQLIST_H__
#define __SEQLIST_H__
#include <stdio.h>
#include "Contact_project.h"
typedef Info SLDataType;         // 改顺序表的数据类型直接在这里该就行
// typedef int SLDataType;         // 改顺序表的数据类型直接在这里该就行
#define N 7

// 静态顺序表
/* 给定的数据长度, 如果输入数据量的超过了, 会导致后续的数据保存失败 */
/* 笔者有话: 这个和数字几乎一样,是定长的,不好用,不能根据需要调整*/
/* struct Seqlist
{
    SLDataType SeqList[N];      // 静态顺序表 定长
    int size;                   // 有效数据个数
};
 */

// 动态顺序表 (好用 更推荐)
typedef struct Seqlist
{   
    SLDataType *arr;
    int size;                  // 有效数据个数 
    int capacity;              // 容量
}SL;

void SL_Init(SL *ps);
void SL_CheckCapacity(SL *ps);
void SL_Pushback(SL *ps, SLDataType x);
void SL_Pushfront(SL *ps, SLDataType x);
void SL_Insert(SL *ps, int p, SLDataType x);
void SL_Popback(SL *ps);
void SL_popfront(SL *ps);
void SLErase(SL *ps, int p);
void SL_Print(SL *ps);
int  SL_find(SL *ps, int x);
void SL_destory(SL *ps);
void SL_modify(SL *ps, int i, int x);


#endif